package com.geeksx.trainer.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 知识分类实体类
 * 对应表：knowledge_category
 */
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Data
@TableName("knowledge_category")
public class KnowledgeCategory implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 分类ID，主键
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 分类名称，如：计算机网络
     */
    private String name;

    /**
     * 父分类ID，支持多级分类（如 数据库 -> MySQL）
     */
    private Long parentId;

    /**
     * 分类层级：1=一级分类，2=二级分类，3=三级分类
     */
    private Integer level;

    /**
     * 分类简介
     */
    private String description;

    /**
     * 排序字段，数值越小越靠前
     */
    private Integer sort;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
}
